FSMOの役割を他のドメインコントローラに移行する – Active Directory on AWS(4)
はじめに
前回まではこちらです。
- AWS上でActive Directoryを構成する為の準備をする – Active Directory on AWS(1)
- 最初のドメインコントローラを構築する – Active Directory on AWS(2)
- 2台目のドメインコントローラを構築する - Active Directory on AWS(3)
さて前回2台目のドメインコントローラ(DC)を構築しましたので、現時点では以下のような構成になっています。DC1がFSMO+GC、DC2がGCです。
ここでおさらいを。
Active DirectoryのDCは全てのDCで同じ情報を複製し並列に機能しますが、「FSMO(Flexible Single Master Operation)」と呼ばれる特別な5つの機能に関しては、それぞれの機能につき特定の1台だけが機能を有します。5つとは以下のものです。
インフラストラクチャマスタドメインの構造(グループに含まれるユーザメンバーなど)を管理する。
役割名 | 役割 |
---|---|
スキーママスタ | Active Directory データベースのスキーマを管理する。 |
ドメイン名前付けマスタ | フォレスト内のドメインの追加や削除を管理する。 |
PDCエミュレータ | Windows NT時代、ドメインにはPDC(プライマリドメインコントローラ)とBDC(バックアップドメインコントローラ)という役割がありましたが、Active DirectoryにおいてDCは役割がフラットになりました。ただ古いバージョンのWindowsドメインとやり取りをするためにはPDCが必要になりますので、PDCをエミュレーションするのがこの機能です。またパスワード情報の管理元でもあり、ドメイン内の他のDCで実行されたパスワード変更はPDCエミュレータに優先的に複製されます。 |
RIDマスタ | RID(Relative ID)と呼ばれるセキュリティIDの割り当てプールを管理する。 |
またグローバルカタログ(GC)は「フォレスト内の全オブジェクトのうち利用頻度の高いオブジェクトのコピーを持つ」機能です。例えばユーザー名やグループ名等です。このグローバルカタログがないと、別のドメインのユーザーなどを検索するときに非常に時間がかかってしまいます。効率よくActive Directoryのオブジェクトを参照するための仕組みがこのグローバルカタログです。
で。このFSMOの機能ですが、別のDCに移したい場合があります。例えばオンプレミスのActive DirectoryをAWSに移行したい場合、以下の手順が考えられます。
- オンプレミス環境とAWS環境をVPNやDirectConnectで接続する。
- AWS環境に、オンプレミス環境にあるActive Directoryに所属する形でDCを構築する。
- オンプレミス環境にあるDCが持つFSMO機能をAWS環境にあるDCに移行する。
- オンプレミス環境にあるDCをドメインメンバに変更する。
- オンプレミス環境にある元DCを撤去する。
今回はAWS環境の中での実施となりますが、dc1からdc2にFSMO機能を移したいと思います。
やったこと
以下の作業はdc2にて行います。
事前確認
PowerShell上でntdsutilコマンドを実行し、現在のFSMOとしての各機能をdc1が持っていることを確認します。
PS C:\Users\Administrator.SMOKEYMONKEY> ntdsutil C:\Windows\system32\ntdsutil.exe: roles fsmo maintenance: select operation target select operation target: connections server connections: connect to domain smokeymonkey.local Binding to \\DC2.smokeymonkey.local ... Connected to \\DC2.smokeymonkey.local using credentials of locally logged on user. server connections: quit select operation target: list roles for connected server Server "\\DC2.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local select operation target: quit fsmo maintenance: quit C:\Windows\system32\ntdsutil.exe: quit
スキーママスタの移行
スキーママスタの移行は管理ツールである[Active Directoryスキーマ]から行います...が、初期状態では管理ツールとして追加されていません。PowerShellを起動し、regsvr32 schmmgmt.dllコマンドを実行することで、管理コンソールのスナップインとして追加されます。
次にPowerShellでmmc.exeコマンドを実行すると、管理コンソールが面が起動します。
[ファイル]メニューの[スナップインの追加と削除]をクリックします。
[スナップインの追加と削除]画面が開きます。[利用できるスナップイン]欄から[Active Directoryスキーマ]をクリックして選択し、[追加]ボタンをクリックします。
[選択されたスナップイン]欄に[Active Directoryスキーマ]が追加されたことを確認し、[OK]ボタンをクリックします。
管理コンソール画面の左ペインに[Active Directoryスキーマ]が追加されます。右クリックし、[Active Directoryドメインコントローラーの変更]をクリックします。
[ディレクトリサーバーの変更]画面が表示されます。[次のドメインコントローラーまたはAD LDS インスタンス]が選択されていることを確認し、スキーママスタの役割を移行したいDC(今回はdc2)をクリックして選択します。[OK]ボタンをクリックします。
すると以下の画面が表示されます。これはスキーママスタの役割をdc1が持っている状態で、スキーママスタではないdc2に管理コンソールが接続した為です。気にせず[OK]ボタンをクリックします。
管理コンソール画面に戻ります。すると左ペインの[Acitve Directoryスキーマ]の横が"DC2"となっています。[Acitve Directoryスキーマ]を右クリックし、[操作マスター]をクリックします。
[スキーママスターの変更]画面が表示されます。現在のスキーママスタが"DC1"、転送先が"DC2"になっていることを確認し、[変更]ボタンをクリックします。
以下画面が表示されるので[はい]をクリックします。
以下画面が表示されます。これでスキーママスタが変更されました。
ドメイン名前付けマスタの移行
ドメイン名前付けマスタの移行は管理ツールの[Active Directoryドメインと信頼関係]から行います。
[Active Directoryドメインと信頼関係]画面で、左ペインの[Active Directoryドメインと信頼関係]を右クリックし、[Active Directoryドメインコントローラーの変更]をクリックします。
[ディレクトリサーバーの変更]画面が表示されます。[次のドメインコントローラーまたはAD LDS インスタンス]が選択されていることを確認し、スキーママスタの役割を移行したいDC(今回はdc2)をクリックして選択します。[OK]ボタンをクリックします。
管理コンソール画面に戻ります。すると左ペインの[Acitve Directoryドメインと信頼関係]の横が"DC2"となっています。[Acitve Directoryドメインと信頼関係]を右クリックし、[操作マスター]をクリックします。
[操作マスター]画面が表示されます。現在のドメイン名前付けマスタが"DC1"、転送先が"DC2"になっていることを確認し、[変更]ボタンをクリックします。
以下画面が表示されるので[はい]をクリックします。
以下画面が表示されます。これでドメイン名前付けマスタが変更されました。
PDCエミュレータ、RIDマスタ、インフラストラクチャマスタの移行
PDCエミュレータ、RIDマスタ、インフラストラクチャマスタの移行は 管理ツールの[Active Directoryユーザーとコンピュータ]から行います。
[Active Directoryユーザーとコンピューター]の画面を開き、左ペインの[Active Directoryユーザーとコンピューター]を右クリックして、[すべてのタスク]-[操作マスター]をクリックします。
[操作マスター]画面が開きます。[RID]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。
以下画面が表示されるので[はい]をクリックします。
以下画面が表示されます。これでRIDマスタが変更されました。[OK]をクリックします。
[操作マスター]画面に戻ります。[PDC]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。
以下画面が表示されるので[はい]をクリックします。
以下画面が表示されます。これでPDCエミュレータが変更されました。[OK]をクリックします。
[操作マスター]画面に戻ります。[インフラストラクチャ]タブで操作マスターが"dc1"、転送先が"dc2"になっていることを確認し、[変更]ボタンをクリックします。
以下画面が表示されるので[はい]をクリックします。
以下画面が表示されます。これでインフラストラクチャマスタが変更されました。
事後確認
PowerShell上でntdsutilコマンドを実行し、現在のFSMOとしての各機能をdc2が持っていることを確認します。("CN="を見て下さい)
PS C:\Users\Administrator.SMOKEYMONKEY> ntdsutil C:\Windows\system32\ntdsutil.exe: roles fsmo maintenance: select operation target select operation target: connections server connections: connect to domain smokeymonkey.local Binding to \\DC2.smokeymonkey.local ... Connected to \\DC2.smokeymonkey.local using credentials of locally logged on user. server connections: quit select operation target: list roles for connected server Server "\\DC2.smokeymonkey.local" knows about 5 roles Schema - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Naming Master - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local PDC - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local RID - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local Infrastructure - CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=smokeymonkey,DC=local select operation target: quit fsmo maintenance: quit C:\Windows\system32\ntdsutil.exe: quit
さいごに
これでdc2がFSMO+GC、dc1がGCになりました。
次はdc2が所属するAZに隕石が当たるような障害を考慮して、dc2をFSMOの機能を有したままterminateし、dc1でFSMOを復旧する手順を確認したいと思います。